1. Field of the Invention
This invention relates generally to the field of associative memories and, more particularly, to content-addressable memories ("CAMs"), which can be used to compare an input data word with one or more stored keywords or references to determine whether the data word matches any of the keywords.
2. Discussion of the Prior Art
A content-addressable memory, or CAM, is a reprogrammable semiconductor memory device that can be used to compare a given data word, such as a record from a data base, with one or more key words or references to determine whether the data word matches any of the key words. In a conventional CAM, the desired keywords are first loaded into the CAM in a manner analogous to that in which information is written into a random-access memory. Subsequently, a data word applied to a CAM input port can be simultaneously compared to all of the key words stored in the CAM.
The comparison is typically performed by circuitry more or less integral with each key-word storage location itself. This circuitry operates to make the logical comparison between its associated key word and the data word. If the data word matches the key word (responder), the circuitry produces an output signal indicative of the match, and the CAM produces an output that identifies the CAM location in which the match exists.
In addition to being used to find exact matches, CAMs can be used to determine whether the incoming data word is close to a desired word, or alternately, whether any of the stored key words is close to a word of interest.
In the former case, the CAM contains not only the desired key word but also key words that are close to the desired key word. In that way, a match indicates that the data word is close to the desired word, and the address indicated by the CAM is an indication of the closeness if the computer using the CAM has separately stored the relationship between "closeness"--typically measured by Hamming distance--and memory location.
To determine whether any of the CAM contents are close to a desired word, on the other hand, one sequentially applies to the CAM as data words the desired word and all words within the acceptable Hamming distance.